home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 2
/
Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso
/
Aminet
/
dev
/
misc
/
egs.lha
/
EGS
/
EGS_Devels
/
Examples
/
EGS_Menu
/
eventloop.c
next >
Wrap
Text File
|
1993-02-17
|
3KB
|
125 lines
/*
** Author: Markus van Kempen
** Date : 8 November 92
**
**
** This routine handles events (like Commodore)
**
** (c) by VIONA-Development 1992/93
**
*/
BOOL
HandleEvents(struct EI_Window * fenster)
{
BOOL raus = FALSE; /* TRUE, if function shall exit */
ULONG GetBits, WaitBits; /* MessagePort bits */
EI_EIntuiMsgPtr imess; /* Message structure pointer */
WaitBits = (1L << fenster->UserPort->mp_SigBit) | SIGBREAKF_CTRL_C;
while (!raus)
{
GetBits = Wait(WaitBits);
if (GetBits & SIGBREAKF_CTRL_C) /* CTRL-C gedrückt */
{
raus = TRUE;
}
while ((imess = (struct EI_EIntuiMsg *) GetMsg(fenster->UserPort)) != NULL)
{
switch (imess->Class)
{
case EI_iRAWKEY:
printf("iRawKey\n");
ReplyMsg((struct Message *) imess);
break;
case EI_iCLOSEWINDOW:
printf("iClose\n");
ReplyMsg((struct Message *) imess);
raus = TRUE;
break;
case EI_iMENUVERIFY:
printf("iMenuVerify\n");
ReplyMsg((struct Message *) imess);
break;
case EI_iMENUPICK:
printf("iMenu\n");
printf("Code = %lx\n", imess->Code);
/*
switch(imess->Code)
{
}
*/
ReplyMsg((struct Message *) imess);
break;
case EI_iSIZEVERIFY:
printf("VerifySizing ! \n");
ReplyMsg((struct Message *) imess);
break;
case EI_iNEWSIZE:
printf("Sizing ! \n");
ReplyMsg((struct Message *) imess);
break;
case EI_iACTIVEWINDOW:
printf("Active ! \n");
ReplyMsg((struct Message *) imess);
break;
case EI_iMOUSEMOVE:
printf(" MouseMove ! \n");
printf(" MouseX = %d \n", imess->MouseX);
printf(" MouseY = %d \n", imess->MouseY);
ReplyMsg((struct Message *) imess);
break;
case EI_iMOUSEBUTTONS:
printf("MouseButtons\n");
ReplyMsg((struct Message *) imess);
break;
case EI_iINACTIVEWINDOW:
printf("Inactive \n");
ReplyMsg((struct Message *) imess);
break;
case EI_iVANILLAKEY:
printf("Vanilla \n");
break;
case EI_iGADGETUP:
printf("Gadget \n");
ReplyMsg((struct Message *) imess);
break;
default:
printf(" Unknown message %x & %x\n ", imess->Class, imess->Code);
ReplyMsg((struct Message *) imess);
}
}
}
return raus;
}